package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.ProperFee;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 物管费信息Mapper接口
 *
 * @author bzs
 * @date 2021-08-22
 */
@Mapper
public interface SysProperFeeMapper
{
    /**
     * 查询物管费信息
     *
     * @param
     * @return 物管费信息
     */
    public ProperFee selectProperFeeById(String properId);

    /**
     * 查询物管费信息
     *
     * @param
     * @return 物管费信息
     */
    public ProperFee selectProperFeeByName(String floorName);

    /**
     * 查询物管费信息
     *
     * @param etldt
     * @return 物管费信息
     */
    public List<ProperFee> selectProperFeeListByEtldt(String etldt);

    /**
     * 查询物管费信息列表
     *
     * @param
     * @return 物管费信息集合
     */
    public List<ProperFee> selectProperFeeList(ProperFee ProperFee);

    /**
     * 查询物管费信息列表
     *
     * @param
     * @return 物管费信息集合
     */
    public List<ProperFee> selectProperFeeListAll(ProperFee ProperFee);

    /**
     * 查询物管费信息列表
     *
     * @param
     * @return 物管费信息
     */
    public List<ProperFee> selectProperFeeListByIds(String[] Ids);


    /**
     * 新增物管费信息
     *
     * @param
     * @return 结果
     */
    public int insertProperFee(ProperFee ProperFee);

    /**
     * 修改物管费信息
     *
     * @param
     * @return 结果
     */
    public int updateProperFee(ProperFee ProperFee);



    /**
     * 批量删除物管费信息
     *
     * @param floorIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteProperFeeByIds(String[] floorIds);

    /**
     * 根据日期批次删除物管费信息
     *
     * @param etldt 需要删除的数据的日期批次
     * @return 结果
     */
    public int deleteProperFeeByEtldt(String etldt);


    /**
     * 批量插入数据
     * @param properFeeList
     * @return
     */
    public int insertProperFees(List<ProperFee> properFeeList);

    /**
     * 查询物管费列表
     *
     * @param
     * @return 物管费信息
     */
    public ProperFee selectProperFeeByEtldt(@Param("etldt") String etldt,
                                            @Param("companyName") String companyName,
                                            @Param("floorName") String floorName,
                                            @Param("coveredArea") String coveredArea);

}
